Computing devices and operating systems are configured to interact with peripheral devices. Software sometimes known as a device driver is typically used to operate and control each kind of device. In order to ensure integration and functionality between computing devices and components, processes for conducting system wide tests and validating components are performed.
These tests can be conducted systematically, through observing the system and determining how exhaustively each aspect of a driver's operation is covered. Information collected from these methods can be used to analyze overall system operations and performance. For example, using driver verifiers, peripheral devices can be tested by sending I/O data to the driver and determining whether or not the driver has failed. However, in many of the current testing methods, the testing process for a particular driver ends the first time a failure is reached. As a result, it can be difficult and/or impractical to identify failed drivers, bugs, and other issues in an efficient, timely manner, particularly when a large number of drivers are involved.